<!doctype html>



  


<html class="theme-next pisces use-motion" lang="zh-Hans">
<head>
  <meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>



<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />












  
  
  <link href="/lib/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" />




  
  
  
  

  
    
    
  

  

  

  

  

  
    
    
    <link href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css">
  






<link href="/lib/font-awesome/css/font-awesome.min.css?v=4.6.2" rel="stylesheet" type="text/css" />

<link href="/css/main.css?v=5.1.0" rel="stylesheet" type="text/css" />


  <meta name="keywords" content="代码,读书," />








  <link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico?v=5.1.0" />






<meta name="description" content="悄悄然，2016年已经接近尾声，每年都会在自己的qq空间发一篇长文回顾和总结，今年也不例外。同时也要响应领导的号召！😝，开个玩笑。过去的一年，一切都在变好，自己也逐渐对个人的职业清晰起来，当然，遗憾也有很多，下面我就一一通过，工作，生活方面来说。
工作方式和效率方面从毕业到现在，对自己的工作热爱=程度从未降低，自己也一直自认为算技术geek，而且，在工作中，较真的劲，使得自己总能在工作中，不断的">
<meta property="og:type" content="article">
<meta property="og:title" content="2016年度个人总结">
<meta property="og:url" content="http://yoursite.com/2016/12/29/2016年度个人总结/index.html">
<meta property="og:site_name" content="小志">
<meta property="og:description" content="悄悄然，2016年已经接近尾声，每年都会在自己的qq空间发一篇长文回顾和总结，今年也不例外。同时也要响应领导的号召！😝，开个玩笑。过去的一年，一切都在变好，自己也逐渐对个人的职业清晰起来，当然，遗憾也有很多，下面我就一一通过，工作，生活方面来说。
工作方式和效率方面从毕业到现在，对自己的工作热爱=程度从未降低，自己也一直自认为算技术geek，而且，在工作中，较真的劲，使得自己总能在工作中，不断的">
<meta property="og:updated_time" content="2016-12-31T18:59:52.000Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="2016年度个人总结">
<meta name="twitter:description" content="悄悄然，2016年已经接近尾声，每年都会在自己的qq空间发一篇长文回顾和总结，今年也不例外。同时也要响应领导的号召！😝，开个玩笑。过去的一年，一切都在变好，自己也逐渐对个人的职业清晰起来，当然，遗憾也有很多，下面我就一一通过，工作，生活方面来说。
工作方式和效率方面从毕业到现在，对自己的工作热爱=程度从未降低，自己也一直自认为算技术geek，而且，在工作中，较真的劲，使得自己总能在工作中，不断的">



<script type="text/javascript" id="hexo.configurations">
  var NexT = window.NexT || {};
  var CONFIG = {
    root: '/',
    scheme: 'Pisces',
    sidebar: {"position":"left","display":"hide"},
    fancybox: true,
    motion: true,
    duoshuo: {
      userId: '0',
      author: '博主'
    },
    algolia: {
      applicationID: '',
      apiKey: '',
      indexName: '',
      hits: {"per_page":10},
      labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
    }
  };
</script>



  <link rel="canonical" href="http://yoursite.com/2016/12/29/2016年度个人总结/"/>





  <title> 2016年度个人总结 | 小志 </title>
</head>

<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans">

  










  
  
    
  

  <div class="container one-collumn sidebar-position-left page-post-detail ">
    <div class="headband"></div>

    <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-meta ">
  

  <div class="custom-logo-site-title">
    <a href="/"  class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <span class="site-title">小志</span>
      <span class="logo-line-after"><i></i></span>
    </a>
  </div>
  <p class="site-subtitle">拳力以赴</p>
</div>

<div class="site-nav-toggle">
  <button>
    <span class="btn-bar"></span>
    <span class="btn-bar"></span>
    <span class="btn-bar"></span>
  </button>
</div>

<nav class="site-nav">
  

  
    <ul id="menu" class="menu">
      
        
        <li class="menu-item menu-item-home">
          <a href="/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-home"></i> <br />
            
            首页
          </a>
        </li>
      
        
        <li class="menu-item menu-item-categories">
          <a href="/categories" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-th"></i> <br />
            
            分类
          </a>
        </li>
      
        
        <li class="menu-item menu-item-archives">
          <a href="/archives" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-archive"></i> <br />
            
            归档
          </a>
        </li>
      
        
        <li class="menu-item menu-item-tags">
          <a href="/tags" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-tags"></i> <br />
            
            标签
          </a>
        </li>
      

      
    </ul>
  

  
</nav>



 </div>
    </header>

    <main id="main" class="main">
      <div class="main-inner">
        <div class="content-wrap">
          <div id="content" class="content">
            

  <div id="posts" class="posts-expand">
    

  

  
  
  

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">
  <link itemprop="mainEntityOfPage" href="http://yoursite.com/2016/12/29/2016年度个人总结/">

  <span style="display:none" itemprop="author" itemscope itemtype="http://schema.org/Person">
    <meta itemprop="name" content="hezq">
    <meta itemprop="description" content="">
    <meta itemprop="image" content="/images/avatar.jpg">
  </span>

  <span style="display:none" itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
    <meta itemprop="name" content="小志">
    <span style="display:none" itemprop="logo" itemscope itemtype="http://schema.org/ImageObject">
      <img style="display:none;" itemprop="url image" alt="小志" src="">
    </span>
  </span>

    
      <header class="post-header">

        
        
          <h1 class="post-title" itemprop="name headline">
            
            
              
                2016年度个人总结
              
            
          </h1>
        

        <div class="post-meta">
          <span class="post-time">
            
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>
              <time title="Post created" itemprop="dateCreated datePublished" datetime="2016-12-29T23:00:46+08:00">
                2016-12-29
              </time>
            

            

            
          </span>

          
            <span class="post-category" >
              <span class="post-meta-divider">|</span>
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
              
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/总结/" itemprop="url" rel="index">
                    <span itemprop="name">总结</span>
                  </a>
                </span>

                
                
              
            </span>
          

          
            
          

          

          
          

          

          

        </div>
      </header>
    


    <div class="post-body" itemprop="articleBody">

      
      

      
        <p>悄悄然，2016年已经接近尾声，每年都会在自己的qq空间发一篇长文回顾和总结，今年也不例外。同时也要响应领导的号召！😝，开个玩笑。过去的一年，一切都在变好，自己也逐渐对个人的职业清晰起来，当然，遗憾也有很多，下面我就一一通过，工作，生活方面来说。</p>
<h1 id="工作方式和效率方面"><a href="#工作方式和效率方面" class="headerlink" title="工作方式和效率方面"></a>工作方式和效率方面</h1><p>从毕业到现在，对自己的工作热爱=程度从未降低，自己也一直自认为算技术geek，而且，在工作中，较真的劲，使得自己总能在工作中，不断的突破，是自己在技术层面，有了更深的见解和认识。</p>
<h2 id="技术方面"><a href="#技术方面" class="headerlink" title="技术方面"></a>技术方面</h2><ul>
<li>插件化和热修复的<ol>
<li>插件化，就是将软件的功能或者模块做成插件，这个插件是可以独立运行，热修复，就是，采用增量补丁的方式，通过hook技术，实现线上软件bug修复，其两种使用的技术手段类似，但是，概念是完全不一样的，曾经我自己的弄混了。</li>
<li>从以前的完成迷糊，到现在，能够大致理清楚市面上几种方案的实现原理，当然，自己也做过一些小的demo；遗憾的事，这一块，一直没有在项目中实践，毕竟，如果在项目中实践，一定会遇到各种各样的问题，明年争取在项目中集成。</li>
<li>个人成就方面，也就是实现了几个demo。还需努力，目标是，自己根据现有技术，开发一个热修复sdk和gradle插件。</li>
</ol>
</li>
<li>持续发布<ol>
<li>从去年开始接触敏捷开发，这个概念其实最终达到的目的，就是更快的更有质量的迭代功能，以适应这个日益变化的互联网时代。至于过程，以及每家公司内部如何实践，每家公司确实不大一样，我也只是懂点表面但是根据我以前一些实践，和看过几本说推荐的实践方式，还是很赞同看板流程这个实践，<strong>用户故事-&gt;产品设计-&gt;开发-&gt;测试-&gt;回归-&gt;上线</strong>；所谓看板，就是，让本次迭代所有相关人员，知道你目前的进展，现在进行到哪一步，无论有任何调整，每个角色都可以在现有进度情况下做出调整，以适应迭代中的不确定因素。辅助工具很多，trello，remine都是很不错的。  </li>
<li>敏捷开发，既然是开发，肯定离不开一个概念，开发，开发就是为了发布，那么，基于现在的打包流程，android studio，打一个包，需要五分钟左右，电脑差点，十分钟也有可能，然后在上传到fir，这本是是一个相对简单的流程；但是就是他，会引起很多问题，譬如：你可能会打断一个正在开发中的程序员、每个程序员使用的环境不一样、每次打包可能对应的代码不一致、每次都是手动打包上传（low不low，是不是该把程序员的精力放在更有意义的事上面）、版本号怎么维护、每次打包依靠手动修改versioncode（如何保证自增呢），基于种种问题，我根据以前的一些实践，搭建了一套粗陋的持续构建框架。</li>
<li>我的持续构建框架，整体是基于go cd的，在搭建过程中，是遇到很多坑的，本人并非运维出身，对于linux也是熟悉，根本达不到熟练的水平；其中就遇到过，go cd无法clone代码，明明加了权限也不行，go cd只是一个ci架构，具体的打包，还是需要自己来写脚本，那么就查找各种资料，学习shell的相关知识，遇到最多的也是权限问题和环境问题；打包脚本搞定了，接下来就是，我如何保证versioncode自增，verisonname可以方便自定义呢？我的解决方案是，verisoncode持久化在一个文件中，每次打包自增然后保存，versionname通过go cd以参数的方式传给打包脚本；打包脚本，再把versioncode和versionname，以参数方式传给gradle，gradle中，会读取这两个参数，如果没有参数，就会使用默认；这样好处就是，既可以使用go cd打包，也不影响我们编译运行，一举两得；<strong>环境中，遇到最麻烦的事，就是在centos中，使用android sdk打包，他会有缺少glib-2.14库缺少的问题，这个也用了很长时间解决，就赢个这个，弄坏了好几台服务器，这里特别感谢我们的运维兄弟；</strong></li>
<li>持续化环境搭建的好处<ul>
<li>同样的环境，同样的代码</li>
<li>操作简单，主要有权限，都可以执行</li>
<li>打包发布一步到位，这个才对得起敏捷开发这个词。</li>
<li>对于多环境的打包，区分配置，不容易混淆。</li>
<li>个人观点就是，能用工具的，就不要人力去做了，太累了，而且人犯错率比较高。总之，就是提高效率</li>
</ul>
</li>
<li>以后可优化的点<ul>
<li>速度采用feeline或者okbuck，提升打包速度</li>
<li>打包自动化，增加预警和提示功能，（比如规定每天凌晨打包，每次上午八点，将新版本地址发到测试人员和灰度测试人员手中。）</li>
<li>代码质量管理，对于提交的代码，自动进行审核，生成报告，提交到审核人员手中。</li>
<li>自动化测试，对于每天晚上的自动化打包，执行自动化测试，生成报告，发给相关人员</li>
<li>单元测试，代码中大量使用单元测试，每一次修改功能，都会自动执行单元测试，如果不通过，发出预警。<a href="https://xiaozhilaoliu.github.io/2016/12/04/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95%E7%9A%84%E9%87%8D%E8%A6%81%E6%80%A7/" target="_blank" rel="external">单元测试的好处</a></li>
</ul>
</li>
</ol>
</li>
<li>Go语言<ul>
<li>go是一门类c的语言，语法简单，从2012年开始，我就很关注，只是一直没有投入学习，了解的也很肤浅，今年，利用空闲时间，开始学习和code一些代码，当然他的优点，毫无疑问，那就是多线程并发处理做得特别好，对于我做前端开发，后台做得不多，所以这一块体会不深，我体会最深刻就是，语法，简单，简单，简单，用一个结构体，可以搞定一个java类，用一个接口代码，可以代替一个java的接口文件，再也没有implemets，extends的这些关键词，但是他以更简单的方式具备了这两个功能。还有，我写的时候，最方便的就是，我的一个方法可以有两个返回参数，比如我要同事拿到一个集合的索引和值，java就需要分开获取，而在go中，同时就可以拿到，爽吧？ </li>
<li>成就就是，了解了beego这个框架，更觉websocket和longpoolling的demo，coding了一遍，感触颇深。</li>
<li>来年计划<ul>
<li>用go实现一套基于xmpp的协议。⛽️</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="工作方式和效率方面-1"><a href="#工作方式和效率方面-1" class="headerlink" title="工作方式和效率方面"></a>工作方式和效率方面</h2><ul>
<li>今年看了很多产品的书籍，自己对于做产品经理兴趣不大；只是想让自己有产品的思维，对于每个需求，都能考虑到其正真的目的和价值，这样才有有助于我在代码中更好的优化和实现。以前，对于需求，我的方式是do，现在我是what，why，how。然后才是do，首先我要弄懂它是什么，其次为什么要这个需求，能不能有别的替代方案（至少是个建议），以及我改如何做，与产品达到一致之后，才开始做开发，这样就基本能保证做出来的东西和需求基本接近，当然，这个也要依赖持续发布，随时给产品shou case，入股哦有问题，悬崖勒马，及早更正。</li>
<li>工作方式，也是一个经验的积累，充分利用自己的碎片时间解决碎片的事情，在工作的时候保持专注，替身效率，不要让自己看起来很忙，但是不出工作，虽然我没有实践番茄🍅工作法，因为毕竟别人打断你，你不理别人，还是很不礼貌的（我个人这样感觉）；其实，一个程序员，每天真正投入工作的时间，有四个小时就不错了，其他全部走神和开溜，但是这个四个小时如果把握好，足够你完成一天的工作；不要用战术上的勤奋，来掩盖你战略上的懒惰；小懒虫最重要，其实每个人都应该反思？你为什么要加班那么晚？而别人却不需要，还可以完成工作？（推荐看一本水，你从未真正努力过）     </li>
</ul>
<h1 id="生活方面"><a href="#生活方面" class="headerlink" title="生活方面"></a>生活方面</h1><ul>
<li>今年开始，慢慢的将生活和工作分开了，周六周日也尽量充实，天气暖和的时候，骑行上下班，练就了一个好身体，程序与记着，身体是革命的本钱。周六周日也出去走走，逛逛，看看电影，在公园看会广场舞，甚至一个人会去ktv，但是每次都那么尽兴；总之发现，今年以来，，工作压力也很大，但是相对能调节的很好，希望来年继续保持。  </li>
<li>几年预计的去一趟丽江、大理、金沙滩也泡汤了，一直都太忙了。 明年目标，去一趟泰国。⛽️</li>
</ul>
<h1 id="感情方面"><a href="#感情方面" class="headerlink" title="感情方面"></a>感情方面</h1><ul>
<li>今年前半年，接触了一段感情，也许早该结束的，是拖到那么晚；不过，命运是公平的，她也结婚了，我现在也找到属于自己的人，也许这一年，最大的感触和成长就是爱情，但是这里就不长篇大论了。</li>
</ul>
<h1 id="尾言"><a href="#尾言" class="headerlink" title="尾言"></a>尾言</h1><ul>
<li>每一年都在成长，2016年，我也努力了，当然也有遗憾，比如技术上，对于音视频这一块，一直没有深入去学习编码；也许，这样我们才会珍惜光阴，来年加油！继续朝着自己方向发展，也许我也不知道那么方向具体是什么，但是我知道，肯定与技术有关！   </li>
</ul>

      
    </div>

    <div>
      
        

      
    </div>

    <div>
      
        

      
    </div>


    <footer class="post-footer">
      
        <div class="post-tags">
          
            <a href="/tags/代码/" rel="tag"># 代码</a>
          
            <a href="/tags/读书/" rel="tag"># 读书</a>
          
        </div>
      

      
        <div class="post-nav">
          <div class="post-nav-next post-nav-item">
            
              <a href="/2016/12/04/单元测试的重要性/" rel="next" title="单元测试的重要性">
                <i class="fa fa-chevron-left"></i> 单元测试的重要性
              </a>
            
          </div>

          <span class="post-nav-divider"></span>

          <div class="post-nav-prev post-nav-item">
            
              <a href="/2017/02/19/Android studio关联redmine/" rel="prev" title="Android Studio关联redmine">
                Android Studio关联redmine <i class="fa fa-chevron-right"></i>
              </a>
            
          </div>
        </div>
      

      
      
    </footer>
  </article>



    <div class="post-spread">
      
    </div>
  </div>


          </div>
          


          
  <div class="comments" id="comments">
    
  </div>


        </div>
        
          
  
  <div class="sidebar-toggle">
    <div class="sidebar-toggle-line-wrap">
      <span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
    </div>
  </div>

  <aside id="sidebar" class="sidebar">
    <div class="sidebar-inner">

      

      
        <ul class="sidebar-nav motion-element">
          <li class="sidebar-nav-toc sidebar-nav-active" data-target="post-toc-wrap" >
            文章目录
          </li>
          <li class="sidebar-nav-overview" data-target="site-overview">
            站点概览
          </li>
        </ul>
      

      <section class="site-overview sidebar-panel">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
          <img class="site-author-image" itemprop="image"
               src="/images/avatar.jpg"
               alt="hezq" />
          <p class="site-author-name" itemprop="name">hezq</p>
          <p class="site-description motion-element" itemprop="description">学习宝@Android开发工程师</p>
        </div>
        <nav class="site-state motion-element">
          <div class="site-state-item site-state-posts">
            <a href="/archives">
              <span class="site-state-item-count">12</span>
              <span class="site-state-item-name">日志</span>
            </a>
          </div>

          
            <div class="site-state-item site-state-categories">
              <a href="/categories">
                <span class="site-state-item-count">6</span>
                <span class="site-state-item-name">分类</span>
              </a>
            </div>
          

          
            <div class="site-state-item site-state-tags">
              <a href="/tags">
                <span class="site-state-item-count">8</span>
                <span class="site-state-item-name">标签</span>
              </a>
            </div>
          

        </nav>

        

        <div class="links-of-author motion-element">
          
        </div>

        
        

        
        

        


      </section>

      
      <!--noindex-->
        <section class="post-toc-wrap motion-element sidebar-panel sidebar-panel-active">
          <div class="post-toc">

            
              
            

            
              <div class="post-toc-content"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#工作方式和效率方面"><span class="nav-number">1.</span> <span class="nav-text">工作方式和效率方面</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#技术方面"><span class="nav-number">1.1.</span> <span class="nav-text">技术方面</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#工作方式和效率方面-1"><span class="nav-number">1.2.</span> <span class="nav-text">工作方式和效率方面</span></a></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#生活方面"><span class="nav-number">2.</span> <span class="nav-text">生活方面</span></a></li><li class="nav-item nav-level-1"><a class="nav-link" href="#感情方面"><span class="nav-number">3.</span> <span class="nav-text">感情方面</span></a></li><li class="nav-item nav-level-1"><a class="nav-link" href="#尾言"><span class="nav-number">4.</span> <span class="nav-text">尾言</span></a></li></ol></div>
            

          </div>
        </section>
      <!--/noindex-->
      

    </div>
  </aside>


        
      </div>
    </main>

    <footer id="footer" class="footer">
      <div class="footer-inner">
        <div class="copyright" >
  
  &copy; 
  <span itemprop="copyrightYear">2017</span>
  <span class="with-love">
    <i class="fa fa-heart"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">hezq</span>
</div>


<div class="powered-by">
  由 <a class="theme-link" href="https://hexo.io">Hexo</a> 强力驱动
</div>

<div class="theme-info">
  主题 -
  <a class="theme-link" href="https://github.com/iissnan/hexo-theme-next">
    NexT.Pisces
  </a>
</div>


        

        
      </div>
    </footer>

    <div class="back-to-top">
      <i class="fa fa-arrow-up"></i>
    </div>
  </div>

  

<script type="text/javascript">
  if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
    window.Promise = null;
  }
</script>









  



  
  <script type="text/javascript" src="/lib/jquery/index.js?v=2.1.3"></script>

  
  <script type="text/javascript" src="/lib/fastclick/lib/fastclick.min.js?v=1.0.6"></script>

  
  <script type="text/javascript" src="/lib/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>

  
  <script type="text/javascript" src="/lib/velocity/velocity.min.js?v=1.2.1"></script>

  
  <script type="text/javascript" src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>

  
  <script type="text/javascript" src="/lib/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>


  


  <script type="text/javascript" src="/js/src/utils.js?v=5.1.0"></script>

  <script type="text/javascript" src="/js/src/motion.js?v=5.1.0"></script>



  
  


  <script type="text/javascript" src="/js/src/affix.js?v=5.1.0"></script>

  <script type="text/javascript" src="/js/src/schemes/pisces.js?v=5.1.0"></script>



  
  <script type="text/javascript" src="/js/src/scrollspy.js?v=5.1.0"></script>
<script type="text/javascript" src="/js/src/post-details.js?v=5.1.0"></script>



  


  <script type="text/javascript" src="/js/src/bootstrap.js?v=5.1.0"></script>



  



  




	




  
  

  

  

  

  


</body>
</html>
